Privacy Legislation Client
What it is
A module that reports which privacy-related legislation applies in the user's current
location.
Available for both server and client: see example
Usage
Typical usage would be to add the module to your app, call the imported method
and then update the UI in line with any applicable legal requirements:
import { fetchLegislation, buildConsentPageUrl } from "@financial-times/privacy-legislation-client";
function onPageLoad() {
const { legislation, region } = await fetchLegislation();
const url = buildConsentPageUrl({ url: "...", legislation })
if(legislation.has("ccpa")) {
insertCCPALink(url)
}
if(legislation.has("gdpr")) {
...
}
}
How it works
This module is a lightweight wrapper over the Fetch API that hits
https://privacy.ft.com/api/v1/compliance-region.json
, and exposes the comma-delimted response as a property called legislation
in the form of a Set
.
The abstraction allows us to change implementation details like the API's URL, version, etc. without impacting consumers
See the legislation-api for more details